package com.fld.fldcodemother.ai;

import com.fld.fldcodemother.ai.model.HtmlCodeResult;
import com.fld.fldcodemother.ai.model.MultiFileCodeResult;
import dev.langchain4j.service.SystemMessage;

/**
 * 代码生成服务接口
 */
public interface AiCodeGeneratorService {

    /**
     * test
     * 根据用户问题生成代码
     * @param userMessage 用户问题
     * @return ai回答的内容
     */
    String generateCode (String userMessage);

    // 结构化输出
    /**
     * 根据用户的问题生成前端html代码
     * @param userMessage 用户问题
     * @return ai回答的内容
     */
    @SystemMessage(fromResource = "prompt/codegen-html-system-prompt.txt")
    HtmlCodeResult generateHtmlCode (String userMessage) ;

    /**
     *  根据用户问题生成前端代码文件
     * @param userMessage 用户问题
     * @return ai回答的内容
     */
    @SystemMessage(fromResource = "prompt/codegen-multi-file-system-prompr.txt")
    MultiFileCodeResult generateMultiFileCode (String userMessage) ;

    // 无结构化输出
//    /**
//     * 根据用户的问题生成前端html代码
//     * @param userMessage 用户问题
//     * @return ai回答的内容
//     */
//    @SystemMessage(fromResource = "prompt/codegen-html-system-prompt.txt")
//    String generateHtmlCode (String userMessage) ;
//
//    /**
//     *  根据用户问题生成前端代码文件
//     * @param userMessage 用户问题
//     * @return ai回答的内容
//     */
//    @SystemMessage(fromResource = "prompt/codegen-multi-file-system-prompr.txt")
//    String generateMultiFileCode (String userMessage) ;

}
